package com.j2eefast.flowable.erp.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import javax.validation.constraints.NotBlank;
import com.baomidou.mybatisplus.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.j2eefast.common.core.base.entity.BaseEntity;
import java.util.Date;

/**
 * bpm_erp_person_reimburse
 * @author: yhli
 * @date 2020-07-16 10:30
 */
@Data
@TableName("bpm_erp_person_reimburse")
public class bpmErpPersonReimburseEntity extends BaseEntity{

   private static final long serialVersionUID = 1L;
	
      /** 主键 */
 
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    private String id;

      /** 流水号 */
    @NotBlank(message = "参数值不能为空")
    private String serialNumber;

      /** 申请人id */
    @NotNull(message = "参数值不能为空")
    private Long applyUserid;

      /** 申请人 */
    @NotBlank(message = "参数值不能为空")
    private String applyUsername;

      /** 创建人 */
    @NotNull(message = "参数值不能为空")
    private Long createUserid;

  
      /** 修改人 */
    @NotNull(message = "参数值不能为空")
    private Long updateUserid;

  
      /** 是否删除 */
    @NotBlank(message = "参数值不能为空")
    private String deleteFlag;

      /** 费用发生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @NotNull(message = "参数值不能为空")
    private Date reimburseCostTime;

      /** 报销金额 */
    @NotNull(message = "参数值不能为空")
    private Double reimburseMoney;

      /** 报销凭证（附件） */
    @NotBlank(message = "参数值不能为空")
    private String reimburseVoucher;

      /** 备注 */
    @NotBlank(message = "参数值不能为空")
    private String reimburseRemark;

      /** 审批金额 */
    @NotNull(message = "参数值不能为空")
    private Double cashierApprovalMoney;

      /** 出纳审批 */
    @NotNull(message = "参数值不能为空")
    private Long cashierApproval;

      /** 出纳备注 */
    @NotBlank(message = "参数值不能为空")
    private String cashierRemark;

      /** 报销比例 */
    @NotNull(message = "参数值不能为空")
    private Double managerReimburseProportion;

      /** 报销金额 */
    @NotNull(message = "参数值不能为空")
    private Double managerReimburseMoney;

      /** 财务经理审批 */
    @NotNull(message = "参数值不能为空")
    private Long managerApproval;

      /** 财务经理备注 */
    @NotBlank(message = "参数值不能为空")
    private String managerRemark;

      /** 会计审批人员 */
    @NotNull(message = "参数值不能为空")
    private Long accountingApprovalPerson;

      /** 会计审批 */
    @NotNull(message = "参数值不能为空")
    private Long accountingApproval;

      /** 会计备注 */
    @NotBlank(message = "参数值不能为空")
    private String accountingRemark;

      /** 会计录入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @NotNull(message = "参数值不能为空")
    private Date accountingCreateTime;

      /** 审批状态 */
    @NotNull(message = "参数值不能为空")
    private Long processStatus;


}
